package cn.csust.net2.manager.shared.util;

import com.extjs.gxt.ui.client.data.BeanModel;
import com.extjs.gxt.ui.client.data.BeanModelFactory;
import com.extjs.gxt.ui.client.data.BeanModelLookup;
import com.extjs.gxt.ui.client.widget.form.DateField;
import com.google.gwt.i18n.client.DateTimeFormat;

public class Factory {
	/**
	 * 创建一个格式化的日期组件，例如：2011年11月25日
	 * 
	 * @return
	 */
	public static DateField createDateFieldWithFormated() {
		DateField dateField = new DateField();
		dateField.getPropertyEditor().setFormat(DateTimeFormat.getFormat("yyyy年M月dd日"));
		return dateField;
	}
	/**
	 * 创建一个格式化的日期组件，例如：2011年11月25日
	 * 
	 * @return
	 */
	public static DateField createDateField() {
		DateField dateField = new DateField();
		dateField.getPropertyEditor().setFormat(DateTimeFormat.getFormat("yyyy-M-dd"));
		return dateField;
	}
	/**
	 * 根据PO的实例创建po的BeanModel对象
	 * @param poInstance
	 * @return
	 */
	public static BeanModel createBeanModel(Object poInstance) {
		BeanModelFactory beanModelFactory = BeanModelLookup.get().getFactory(poInstance.getClass());
		BeanModel model = beanModelFactory.createModel(poInstance);
		return model;
	}
}
